package com.example.javamaday.offer;

import java.util.Arrays;

public class GetOfferLcp33 {

    public static void main(String[] args) {

    }


    public int storeWater(int[] bucket, int[] vat) {
        int max = 0;
        for(int v : vat) {
            if(max < v) max = v;//找到最大的水缸容量
        }
        if(max == 0) return 0;//最大水缸为0，那就只需要0次操作
        int n = bucket.length;
        int ans = Integer.MAX_VALUE;
        for(int i = 1; i <= max; i++) {//遍历倒水次数，根据题目提示vat[i]的大小不会超过max
            int per = 0;//每次给水缸倒多少水
            int cur = i;//倒水i次，所以操作次数+i
            for(int j = 0; j < n; j++) {//如果是倒水i次，那么需要升级水桶多少次呢？遍历每个水缸
                per = (vat[j] + i - 1) / i;// 水缸容量/倒水次数=每次倒水量，注意要向上取整
                cur += Math.max(0, per - bucket[j]);// 每次倒水量-初始水量=需要升级次数，升级次数加上倒水次数，就是总次数
            }
            ans = Math.min(ans, cur);//所有倒水次数中，取最小的操作次数
        }
        return ans;
    }
}
